<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    
        //构造函数
        function Person(name) {
            this.name = name;
        }
        
        //将方法（行为）添加到 构造函数 的原型对象上
        Person.prototype.sayHi = function () {
            console.log('这是原型对象上的说话方法');           
        }
        // 实例化 一个对象实例
        var p1 = new Person('jack');
        p1.sayHi();//访问（调用）原型对象上的方法

        //重新赋值 修改 属性值只覆盖了 创建出来的 对象实例p1 的方法
        p1.sayHi = function () {
            console.log('这是新的方法');            
        }
        p1.sayHi();

        var p2 = new Person('andy');
        p2.sayHi();
    </script>
</body>
</html>